Electronic content visual comparison apparatus and method

ABSTRACT

Methods and apparatus are presented for visual comparison of different portions of one or more source documents to emulate a paper folding gesture experience in a user device, in which the user uses a mouse or finger in a touchscreen device to circle two or more portions of interest in the same or separate source documents, and provides a different user input such as a pinch motion or zoom in feature to display the selected regions proximate one another for visual comparison.

BACKGROUND

The present exemplary embodiments relate to tools and techniques forviewing documents on display screens. People often print physical copiesof documents in order to visually examine content located in differentplaces within a document, or to compare visual content located indifferent documents. The same is true of other electronic source files,such as PDF files, slideshow presentation files, electronic drawingfiles, web page content, etc. Different content portions in a givenprinted page can then be brought together by folding the paper or inother ways. For example, certain bits of content may be physically cutfrom a paper printout, and the bits can be laid out together on a tablefor examination and comparison. Conventional software tools provide somelimited capability for comparing disparate portions of a source documentor of different documents, such as by opening separate windows next toeach other, each containing an instance of the entire document, but theuser must navigate the display of each window to a corresponding portionto be compared. Certain word processors and spreadsheet programs providemeans for placing different portions of a file in proximity, such as bycreating a “split screen” view of a document, or by selectively freezingand/or hiding specific rows or columns of a spreadsheet file. U.S. Pat.No. 7,200,615 to Eschbach et al., assigned to Xerox Corporation,incorporated herein by reference, provides techniques for presentingspreadsheets and other documents on client-side devices with limitedresources and tiny display screen area, with a split-bar stitched into acomposite view of the user's current viewpoint. However, such tools andmultiple window techniques may not be available on all user devices,such as smart phones, etc. Moreover, available tools do not allow directcomparison of arbitrary portions of two or more commonly used fileformats, and do not allow side-by-side comparison of specific portionsof a digital file that are far apart or are not aligned. Accordingly, aneed remains for improved tools and techniques for comparing multipledisparate portions of one or more source files to facilitate a uservisually comparing select portions without opening multiple windows in auser device and without printing out the files.

BRIEF DESCRIPTION

The present disclosure provides apparatus and methods for comparinguser-selected source file portions within a single user interfacedisplay rendering or window by which the above and other shortcomings ofconventional tools and techniques can be mitigated or overcome.Computer-implemented processes and a user device software tool aredisclosed for visual comparison of content in which a user input, suchas an encircling motion on a touchscreen display or mouse action, etc.which identifies a selected visual content area in a display view,initiates generation of a first boundary defining a first content regionthat includes visual content identified by the visual content area. Inresponse to receipt of a user input identifying a second selected visualcontent area in the same or another display view, of the same sourcefile or of a different source file, the tool generates a second boundarydefining a second content region. Receipt of a further user input, suchas a pinching motion on a touchscreen display, etc., brings the firstand second content regions together on the display, with the regionsapproaching one another and sliding relative to one another to finalpositions for visual user comparison.

One or both of the content regions is/are automatically resized incertain embodiments according to the relative content region sizes, thesize of the display, and the current display orientation (e.g.,landscape versus portrait). In this manner, the user is presented withpotentially maximal visibility to enhance the visual comparisonoperation without having to adjust zoom levels manually. Certainembodiments, moreover, allow further user input to adjust the positionin the original content by changing the center point in the content of agiven content region, to change a zoom level of a given content regionand/or change the size of a given content region, thereby providingfurther flexibility in the user experience beyond those available withconventional applications and/or by folding printed paper. In certainembodiments, the user can identify three or more content areas in one ormore source files for contemporaneous comparison on a single displayview, and may be presented with a palette of the selected contentregions with the ability to perform a further user input operation(e.g., a pinching operation on a touchscreen) to compare two particularcontent areas that have been identified. Further aspects of thedisclosure provide computer readable mediums with computer executableinstructions for implementing the software tool or comparison process,as well as user devices programmed to implement these concepts.

BRIEF DESCRIPTION OF THE DRAWINGS

The present subject matter may take form in various components andarrangements of components, and in various steps and arrangements ofsteps. The drawings are only for purposes of illustrating preferredembodiments and are not to be construed as limiting the subject matter.

FIGS. 1A-1D depict a flow diagram illustrating an exemplary method forvisually comparing multiple user identified portions of a document ordocuments using a computer-implemented system with a visual display inaccordance with one or more aspects of the present disclosure;

FIG. 2 illustrates various textual and graphical content in a firstsource file accessed by the computer-implemented system;

FIG. 3 illustrates textual and graphical content in a second source fileaccessed by the computer-implemented system;

FIG. 4 is a simplified schematic diagram illustrating exemplarycomputer-implemented systems in which the process of FIGS. 1A-1D can beimplemented to provide a computer-implemented comparison tool;

FIG. 5 is a simplified display view provided by the comparison toolillustrating a first type of user input in a selection mode to identifya first selected visual content area in the source file of FIG. 2;

FIG. 6 is a simplified display view showing generation by the comparisontool of a first boundary defining a first content region includingvisual content identified by the first user-selected content area ofFIG. 5;

FIG. 7 is a simplified display view illustrating user input in theselection mode to identify a second selected visual content area in adifferent location of the source file of FIG. 2;

FIG. 8 is a simplified display view showing generation by the comparisontool of a second boundary defining a second content region includingvisual content identified by the second user-selected content area ofFIG. 7;

FIG. 9 is a simplified display view showing a user input to initiate acomparison mode of the tool for comparing the visual content regionsidentified in FIGS. 6 and 8;

FIG. 10 is a simplified display view illustrating operation by thecomparison tool to optionally resize one or both of the visual contentregions and to bring the selected content regions together on thedisplay;

FIG. 11 is a simplified display view illustrating the tool bringing theselected visual content regions together and sliding along one another;

FIG. 12 is a simplified display view illustrating the tool havingpositioned the selected content regions in a side-by-side arrangement tofacilitate user comparison of the selected content regions for aportrait view orientation of the display screen;

FIGS. 13-15 are simplified display views showing the tool bringing theselected visual content regions together, sliding along one another, andbeing positioned in final positions one on top of the other for usercomparison in a portrait view orientation of the display screen;

FIG. 16 is a simplified portrait display view illustrating user input toshift a content center point of one of the selected content regions tothe left;

FIG. 17 is a simplified display view illustrating another user input tochange a zoom level of one of the selected content regions;

FIG. 18 is a simplified display view illustrating a further user inputto resize one of the selected content regions;

FIG. 19 is a simplified display view illustrating realignment of theselected content regions following the user-initiated resizing of FIG.18;

FIG. 20 is a simplified display view illustrating portions of the secondsource file of FIG. 3 following user changing back to selection mode andnavigating to the second source file;

FIG. 21 is a simplified display view illustrating user input in theselection mode to identify a third selected visual content area in thesecond source file of FIGS. 3 and 20;

FIG. 22 is a simplified display view illustrating a third boundarygenerated by the comparison tool which defines a third content regionincluding visual content identified by the third user-selected contentarea of FIG. 21;

FIG. 23 is a simplified display view illustrating a user input to resumecomparison mode with the newly identified third content region;

FIG. 24 is a simplified display view showing the three selected visualcontent regions displayed vertically in a portrait view displayorientation;

FIG. 25 is a simplified display view showing user input to identify thefirst and third user-selected content regions; and

FIG. 26 is a simplified display view showing the selected first andthird content regions displayed one on top of the other in a portraitview display orientation by the comparison tool.

DETAILED DESCRIPTION

Several embodiments or implementations of the different aspects of thepresent disclosure are hereinafter described in conjunction with thedrawings, wherein like reference numerals are used to refer to likeelements throughout, and wherein the various features, structures, andgraphical renderings are not necessarily drawn to scale. The disclosureprovides computer-implemented methods and apparatus for comparingdifferent portions of one or more source documents or files, and findsparticular utility in connection with user devices having small displayscreens, such as laptop computers, tablet computers, netbooks, smartphones, cell phones, smart watches, PDAs, etc., although the variousconcepts of the present disclosure may be implemented in anyprocessor-based system having a visual display.

Referring initially to FIGS. 1A-1D and 2-4, an exemplary method orprocess 10 is illustrated in FIGS. 1A-1D for comparing select portionsof one or more source files in accordance with one or more aspects ofthe present disclosure. While the method 10 and other methods of thedisclosure are illustrated and described in the form of a series of actsor events, it will be appreciated that the various methods of thedisclosure are not limited by the illustrated ordering of such acts orevents except as specifically set forth herein. In this regard, exceptas specifically provided hereinafter, some acts or events may occur indifferent order and/or concurrently with other acts or events apart fromthose illustrated and described herein, and not all illustrated stepsmay be required to implement a process or method in accordance with thepresent disclosure. The illustrated method 10 and other methods of thedisclosure may be implemented in hardware, processor-executed software,processor-executed firmware, programmable logic, etc. or combinationsthereof, whether in a single component or system or in distributed formin two or more components or systems, and may be employed in associationwith any form of user device, wherein the disclosure is not limited tothe specific devices, systems, applications, and implementationsillustrated and described herein. Moreover, the disclosure contemplatescomputer readable mediums with computer executable instructions forperforming the various methods including the method 10 illustrated anddescribed below in connection with FIGS. 1A-1D.

FIG. 2 illustrates two different portions of an exemplary source file100, including graphical and textual components. In this example,various financial data is illustrated for different corporations,including bar graphs representing profit and revenue during specifictime periods for various divisions of the corporations. As seen in FIG.2, for instance, bar graphs 102-1 through 102-18 are presented forvarious corporate divisions over certain time ranges, and the content ofthe source file 100 includes graphical elements 103-1 through 103-3associated with certain of the bar graph content portions 102. FIG. 3shows a second source file 200, having a bar graph portion 202, as wellas textual portions 204, and graphical portions 203. Although twonon-limiting source files 100, 200 are illustrated in FIGS. 2 and 3, anysuitable form or type of source file may be used in connection with theprocesses and apparatus of the present disclosure, including withoutlimitation document files, drawing files, slideshow presentation files,PDF files, webpages, etc.

FIG. 4 shows various user devices including a laptop computer 302-1, atablet computer 302-2, a desktop computer 302-3, a smart phone 302-4, acell phone 302-5, and a schematic representation of a user device 302-6.Each of the user devices 302 is equipped with one or more processingelements 304, such as a microprocessor, microcontroller, programmablelogic, PGA, ASIC, or combinations thereof, as well as an associatedelectronic memory 306. In addition, the user devices 302 also includesome form of user interface 308 allowing interaction with a user, andincluding a graphical display 310, where the user interface 308 maycomprise a touch screen display 310 along with one or more other userinput features, or the touchscreen display 310 may be implemented so asto provide all the user input capabilities. The user devices 302,moreover, may include various connectivity features, non-limitingexamples of which include network ports for wired connection to anetwork router, wireless capabilities allowing wireless connection toWi-Fi, 3G, 4G or other forms of wireless radio access network, with theability to connect to one or more external networks such as theInternet. Moreover, the user devices 302 may be equipped with suitablepower circuitry and other components as are known for implementingvarious user functions, such as running applications, providingtelecommunications functionality for placing and receiving calls, videoconferencing, web browsing, etc.

Referring now to FIGS. 1A and 5-8, the method 10 begins in FIG. 1A witha user navigating a user device display at 12 to a first location withina source file. As seen in FIG. 5, for instance, the user may be viewingthe illustrated portion of a document file 100 (e.g., source file 100from FIG. 2), with a current landscape orientation of the user devicedisplay 310 and a current user device zoom level sufficient to show thecontent elements 102-7 through 102-18 as well as associated graphicalelements 103-2 and 103-3. In a touchscreen user device example, the usermay employ various types of touch inputs to the display 310 to navigatethe displayed portion of the source file 100 as are known at 12 in FIG.1A. At 14 in the process 10, the user employs one or more input actionsto activate a compare tool, such as through menu selection, etc. (notshown). In addition, the user initiates or begins a “SELECT” mode at 14,for example, through a further user input action, or the compare toolmay automatically begin execution in this mode for selection ofuser-identified regions of interest within the source file 100.

At 16 in FIG. 1A, a first type of user input (“TYPE 1”) is employed bythe user to identify a first selected visual content area in the currentdisplay view. The first user input type may be any suitable userinterface interaction by which a user can identify a selected visualcontent area in the display. For example, as seen in FIG. 5, the usermay employ a mouse or touchscreen action 401 to define or otherwiseidentify a content area of interest. In this example, the user hasperformed an encircling motion via a touchscreen display 310 to identifya portion of the displayed content in the source file 100 which includesthe bar graph 102-8 as well as the associated logo graphic element 103-2pertaining to profit and revenue financial information for a CommercialProducts Division of a company.

In response to this user input at 16, the compare tool of the userdevice generates and displays a first boundary B1 at 18 in FIG. 1A, asshown in FIG. 6, which defines a first content region R1 includingvisual content identified by the content area selected by the user inFIG. 5. In this case the boundary B1 is rectangular, although circularboundaries and corresponding regions can be implemented, as well asboundaries and regions of various other forms and shapes, orcombinations thereof. In certain implementations, the software comparetool may employ various algorithms for generating the boundary B1 basedon a substantially free hand user input (e.g., the user input 401identified in FIG. 5), for example by defining a bounding box thatincludes all the touched portions identified by the user input 401 todefine a region that at least includes this amount of source filecontent, although other approaches may be employed within the scope ofthe present disclosure. In other possible examples, the type 1 userinput could be performed using a mouse or other pointing device, orthrough voice commands, etc., by which a user defines a first corner ofa bounding box and then defines an opposite corner of a bounding box,and with this input, the compared tool creates the boundary B1 at 18 inFIG. 1A.

In the illustrated example, moreover, the tool provides a graphicalidentifier of the defined first region R1, for example, by displaying“R1” within or proximate to the boundary line B1. Other implementationsare possible in which any suitable form of identification may be used bywhich the user can determine a region of the source document 100 thathas been previously identified through user selection. In this example,moreover, the tool-generated boundary B1 is graphically shown to theuser by way of the box line, although other graphical techniques can beused by which the user can distinguish regions R that have been selectedfrom other regions within the source file 100.

Referring also to FIGS. 7 and 8, at 20 in FIG. 1A, the user mayoptionally navigate the display to a second location in the first sourcefile 100, or may use the user device to open a second source file (e.g.,file 200 of FIG. 3 above). In particular, the user may navigate untilanother portion of a source document 100, 200 is shown in the display,which the user would like to compare with the first identified region R1in the first boundary B1. In the example of FIG. 7, the user hasnavigated the content presented in the display 310 of the source file100 to a different location which does not include the previouslyidentified first region R1. Accordingly, the compare tool in thisexample advantageously provides a region identifier 312 on the display310 to indicate the relative positioning of the previously identifiedregion R1, even though the region R1 itself is not currently displayed.

At 22 in FIG. 1A, a further user input of the first type (TYPE 1) isused by which a second selected visual content area is identified in thecurrent display view. In this case, like that of FIG. 5 above, the userperforms an encircling operation by way of a touchscreen display 310, orusing a mouse, or other user input means, indicated in dashed line at401 in FIG. 7. In this case, the user has selected a bar graph contentportion 102-1 with associated graphical element 103-1 relating financialprofit and revenue information for a consumer products division of asecond company. At 24 in FIG. 1A, the compare tool generates anddisplays a second boundary B2 and a second identified region indicator“R2” as shown in FIG. 8.

At this point, as seen in FIG. 8, the user cannot concurrently view bothidentified regions R1 and R2, due to the current zoom level and displayorientation, as well as to the lack of proximity within the source file100 of these two identified regions. However, the rendering in FIG. 8advantageously shows the user that two regions have been identified viathe display of the boundary B2 and associated content, as well as theindicator 312 which notifies the user that there is another regioncurrently off screen which may be compared to the most recentlyidentified region R2. While the first and second content regions R1 andR2 were both identified in the same source file 100, the processes andcompare tool of the present disclosure may be employed where regions ofinterest are within two separate source files (e.g., source file 100 ofFIG. 2 and source file 200 in FIG. 3 above), and the tool mayadvantageously display the indicator(s) 312 to always indicate to theuser that one or more other regions have been previously identified andare available for comparison.

Referring now to FIGS. 1B and 9-12, the process 10 continues at 26 inFIG. 1B, where the user may optionally identify a third and subsequentcontent regions R. In other implementations, the compare tool mayautomatically bring the first and second identified regions R1 and R2together for visual comparison automatically, without allowing the userto identify a third region. In the illustrated example, the process 10allows the user to initiate a second type of user input (TYPE 2) at 30in FIG. 1B in order to initiate or begin a comparison or COMPARE mode ofoperation. As seen in FIG. 9, for instance, the second type of userinput may be a pinching type operation graphically illustrated at 402 inFIG. 9, although any suitable second type of user input action may beemployed by which the user indicates a desire to compare two identifiedcontent regions R1 and R2. As seen in FIG. 9, moreover, a pinchingoperation is particularly intuitive and advantageous in a touchscreenimplementation, with the user touching two separate portions of thetouchscreen display 310 and sliding at least one of the touched portionstoward the other touched portion. For example, this operation 402 may besimilar in some respects to a “zoom out” feature used in touchscreenimplementations of various applications, such as maps or documents,whereby this form of user input 402 is relatively natural to users oftouchscreen devices 302.

The tool makes a determination at 32 in FIG. 1B as to whether more thantwo content regions have been identified or defined. In the illustratedexample of FIG. 9, only two regions R1 and R2 have been identified, andthe process thus proceeds to 34 where the tool may resize one or both ofthe identified content regions R1 and/or R2 according to the relativeaspect ratios of the regions as determined by the tool-generatedboundaries B1 and B2, and according to the current display size andcurrent display orientation. For example, the display condition in FIG.9 is in a “landscape” orientation. Referring also to FIG. 10, the toolin this case brings the first and second identified content regionstoward one another (36 in FIG. 1B) in the directions shown by the arrowsin FIG. 10. In one possible implementation, the user will see theregions approaching one another as shown, and the regions R1 and R2approach one another and may optionally touch as shown in FIG. 11 andthen slide alongside one another as shown by the arrows in FIG. 11 untilthey reach final positions as shown in FIG. 12. In this case, theregions R1 and R2 end up in final positions in a “side-by-side”arrangement, with the regions R1 and R2 being automatically resized bythe compare tool in order to somewhat optimize the display area, withoutthe user having to adjust any zoom settings. The tool in this regarddetermines whether the final positions will be side to side or “up anddown” or other relative positioning's based on the relative aspectratios of the regions R1 and R2 being brought together for comparison,as well as according to the current display size and current displayorientation. Thus, the final positions shown in FIG. 12 are particularlyadvantageous when the display is in a landscape orientation as shown.

Referring briefly to FIGS. 13-15, a “portrait” display orientationexample is illustrated, again using the previously discussed first andsecond regions R1 and R2 from the source file 100. As seen in FIG. 13,upon the user initiating the second type of user input (e.g.,touchscreen pinch operation), the tool optionally resizes one or both ofthe identified content regions at 34 in FIG. 1B, and then brings theidentified content regions R1 and R2 together on the display 310, wherethe user initially sees the proximate corners of the regions R1 and R2approaching one another as shown in FIG. 13, and then sees the regionsoptionally touching and sliding alongside one another as shown in FIG.14, eventually reaching final positions as seen in FIG. 15, in this casein a “top to bottom” configuration best suited to the portrait typeorientation of the touchscreen display 310.

In this regard, the compare tool may advantageously follow reorientationof the user device display 310 if the user reconfigures the positioningof the user device 302. For example, as is known for tablet computers,smart phones, etc., reorienting the physical position of the user device302 may result in the display orientation changing from portrait tolandscape view or vice versa, and the compare tool of the presentdisclosure may follow such reorientations and reconfigure the relativesizing and relative orientation of the content regions R1 and R2accordingly. As seen in FIG. 15, moreover, the illustrated exampleprovides for positioning of the identified regions based on theirrelative locations in the original source file 100, in this caseresulting in R2 being positioned above R1, although other approaches maybe used, for example, always organizing the regions based on the orderin which they were originally identified in the source file 100.

Referring also to FIG. 1C and FIGS. 15-19, the user may then compare thedisplayed content regions R1 and R2 as shown in FIG. 15 (38 in FIG. 1C).In certain situations, the user may wish to further adjust the graphicalrenderings associated with the identified regions R1 and/or R2.Accordingly, various further user inputs may be used for such purposes.For instance, the user may initiate a third type of input 403 (TYPE 3)at 40 in FIG. 1C relative to a given one of the content regions, such asregion R2 in FIG. 16 in order to change the center point of the visualcontent within the region. As shown in FIG. 16, for instance, the usermay touch and slide to the left via the motion shown at 403, with thetool responding by changing the content from the original source file100 within the displayed boundary box B2 as shown in the figure. In thiscase, this results in concurrent display of a portion of the graph 102-1and the next bar graph 102-2 (seen in FIG. 2 above). Other types andforms of user input 403 may be used in order to implement adjustment bythe user of the center point of the content displayed within a given oneof the regions R1 and R2.

At 42 in FIG. 1C, moreover, the user may perform a fourth type of userinput (TYPE 4) in order to cause the tool to change the zoom level ofthe visual content within a given content region. As shown in FIG. 17,for example, the user may provide a touchscreen input 404 which includestouching the display screen at two points and moving one of the touchedpoints directly away from the other, such as a “zoom in” action found inmany touchscreen device applications. In response to the user input 404,the compare tool changes the zoom level of the visual content displayedin the region R2 as shown, in this case zooming in. In another possibleexample, the user may employ a pinching operation in a touchscreendisplay 310 within the region R2 in order to increase the amount ofvisual content displayed in the region R2 (zoom out, not shown). Othertypes and forms of user inputs may be employed for zooming out orzooming in or otherwise adjusting the zoom level of the contentdisplayed within a given one of the compared regions R1 and R2.

At 44 in FIG. 1C, the user may optionally provide a fifth type of userinput (TYPE 5) relative to a given content region in order to change thesize of that region. For example, FIG. 18 illustrates a user action 405by touching a left side of the boundary box B2 and sliding to the leftvia a touchscreen display 310, with the compare tool responding byincreasing the lateral extent of the boundary B2 and hence increasingthe amount of visual content shown within the region R2. Thus, the usermay now view the bar graph associated with July 2004 in FIG. 18, whichwas not previously shown as viewable in FIG. 17. As seen in FIG. 19,moreover, the tool may automatically realign the displayed regions R1and R2 following such a size adjustment, for example, by sliding theregion R2 slightly to the right as shown.

The tool determines at 46 in FIG. 1C whether the user has provided amode change input. If not (NO at 46), the user can continue to comparethe displayed content regions R1 and R2 at 38 and make any necessaryadjustments to one or both of the regions at 40, 42 and/or 44. Once theuser changes the mode (YES at 46), the process 10 returns to the SELECTmode at 16 in FIG. 1 as described above.

Referring now to FIGS. 1B, 1D and 20-26, the compare tool may, incertain embodiments, allow the user to designate or define more than tworegions R in the selection mode. As seen in FIG. 1B, for example, oncefirst and second regions R1 and R2 have been defined, the process 10proceeds to 26, where the user may optionally navigate the display to afurther specific location within the same or another source file at 27(e.g., within source file 100 of FIG. 2 or source file 200 of FIG. 3above), and may perform a TYPE 1 user input at 28 to identify a furtherselected visual content area in the current display view. As shown inFIG. 20, for instance, the user may navigate at 27 to a portion of thesource file 200 shown in FIG. 20, which includes text portions 204, abar graph portion 202, and a portion of a graphical element 203, and maythereafter provide an encircling type input 401 as shown in FIG. 21.

As seen in FIGS. 20 and 21, moreover, the exemplary compare toolprovides the indicators 312 at the bottom of the screen to tell the userthat previously defined regions R1 and R2 exist and are in a separatesource file (e.g., from source file 100 of FIG. 2 in this case). At 29in FIG. 1B, the tool generates and displays a further boundary B3 shownin FIG. 22 defining a third region R3 including visual contentidentified in the source file 200 by the further selected content area.Referring also to FIG. 23, the user may then initiate the COMPARE modeat 30 and FIG. 1B, and the tool determines at 32 that more than twocontent regions have been defined (YES at 32). For example, as seen inFIG. 23, the user may perform a pinching operation via a user input 402indicating the desire to compare the newly identified region R3 with oneor both of the previously defined regions R1 and/or R2.

The process 10 then continues in FIG. 1D, where the tool optionallyresizes one or more of the content regions R1-R3 according to therelative boundary aspect ratios, the current display size and thecurrent display orientation. In the exemplary portrait mode orientationof FIG. 24, for instance, the tool then brings the identified contentregions together on the display at 52 in FIG. 1D, with the regions R1-R3initially being displayed approaching one another, touching and slidingalongside one another to final positions as shown. The user may thencompare the displayed content regions at 54 in FIG. 1D as shown in FIG.24.

At 56, the tool determines whether a further user input of a sixth type(TYPE 6) has been received, and if not (NO at 56), the process 10proceeds to allow for user region comparison and region adjustment at38-46 in FIG. 1C as described above. Otherwise (YES at 56 in FIG. 1D),the system receives a further input of the sixth type, such as apinching action 406 shown in FIG. 25 indicating the user desire to makea one-on-one comparison of two of the displayed regions, in this case R1and the newly defined region R3. In response, the tool optionallyresizes one or both of the regions R1 and/or R3 at 60 in FIG. 1Daccording to the relative aspect ratios of these regions, the displaysize and orientation, and then brings the two designated regions R1 andR3 together on the display as shown in FIG. 26, with the regions beingshown approaching one another, touching and sliding alongside oneanother to the illustrated final positions (top to bottom due to theportrait display orientation in this case). The process 10 then returnsfor user comparison and adjustment and/or mode change in FIG. 1C asdescribed above.

In other possible implementations in which more than two content regionsR have been defined, the tool may allow the user to zoom out upondefinition of the third region R3 in order to see the relative locationsof all marked regions within a given source file. For example, if thethird region R3 had been defined within the first source file 100 ofFIG. 2, the compare tool would provide a “zoomed out” view at asufficiently high level to show the relative locations within the sourcefile 100 of the three designated regions R1-R3. Other potential zoomedout views could be created to indicate relative positions of more thantwo regions that are identified in more than a single source file. Fromsuch view, the user could initiate a pinching operation to join twoparticular regions for close up comparison. In other possibleembodiments, the user may be provided with a palette to which eachidentified region R could be dragged using appropriate user interfaceinput actions, and then the user could click on the palette forside-by-side or top to bottom comparison of two or more of the definedregions R.

In other possible embodiments, the user could drag an identified regionR that is visible on a currently displayed screen to a menu or icon in asidebar, and the screen could split into two, where the original contentin the region R that was dragged to the icon is shown in one portion ofthe screen display, and the other portion of the screen display couldallow the user to scroll through the other marked regions R one by one,potentially providing an icon which the user could press or bump overand over again to scroll through the other marked regions R. Once acandidate has been identified by the user for comparison with the mostrecently identified region R, the user could press the candidate region,and the tool would enter the compare mode, for example, as describedabove to provide side-by-side or top to bottom orientation of thedesignated regions for user visual comparison.

The above examples are merely illustrative of several possibleembodiments of the present disclosure, wherein equivalent alterationsand/or modifications will occur to others skilled in the art uponreading and understanding this specification and the annexed drawings.In particular regard to the various functions performed by the abovedescribed components (assemblies, devices, systems, circuits, and thelike), the terms (including a reference to a “means”) used to describesuch components are intended to correspond, unless otherwise indicated,to any component, such as hardware, processor-executed software orfirmware, or combinations thereof, which performs the specified functionof the described component (i.e., that is functionally equivalent), eventhough not structurally equivalent to the disclosed structure whichperforms the function in the illustrated implementations of thedisclosure. In addition, although a particular feature of the disclosuremay have been disclosed with respect to only one of several embodiments,such feature may be combined with one or more other features of theother implementations as may be desired and advantageous for any givenor particular application. Also, to the extent that the terms“including”, “includes”, “having”, “has”, “with”, or variants thereofare used in the detailed description and/or in the claims, such termsare intended to be inclusive in a manner similar to the term“comprising”. It will be appreciated that various of the above-disclosedand other features and functions, or alternatives thereof, may bedesirably combined into many other different systems or applications,and further that various presently unforeseen or unanticipatedalternatives, modifications, variations or improvements therein may besubsequently made by those skilled in the art which are also intended tobe encompassed by the following claims.

1. A computer-implemented process for comparing select portions of oneor more source files, the process comprising using at least oneprocessor: in response to receiving a first type of user inputidentifying a first selected visual content area in a current displayview rendered on a display associated with a user device, generating afirst boundary defining a first content region including visual contentidentified by the first selected visual content area; in response toreceiving the first type of user input identifying a second selectedvisual content area in the same or another display view currentlyrendered on the display, generating a second boundary defining a secondcontent region including visual content identified by the secondselected visual content area; and in response to receiving a second typeof user input, bringing the first and second content regions together onthe display, including displaying the first and second content regionsapproaching one another and sliding relative to one another to finalpositions for visual comparison by a user according to relative shapesof the first and second content regions, a current display size of thedisplay and a current display orientation of the display.
 2. The processof claim 1, wherein bringing the first and second content regionstogether on the display comprises the first and second content regionstouching one another and sliding relative to one another to the finalpositions in which the first and second content regions are positionedside to side or top to bottom relative to one another according torelative aspect ratios of the first and second content regions, thecurrent display size of the display and the current display orientationof the display.
 3. The process of claim 1, comprising automaticallyresizing at least one of the first and second content regions accordingto the relative sizes of the first and second content regions, thecurrent display size of the display and the current display orientationof the display.
 4. The process of claim 1, comprising in response toreceiving a third type of user input relative to a given one of thecontent regions, changing a center point of visual content within thegiven content region.
 5. The process of claim 1, comprising in responseto receiving a fourth type of user input relative to a given one of thecontent regions, changing a zoom level of visual content within thegiven content region.
 6. The process of claim 1, comprising in responseto receiving a fifth type of user input relative to a given one of thecontent regions, changing a size of the given content region.
 7. Theprocess of claim 1, comprising: in response to receiving the first typeof user input identifying a third or subsequent selected visual contentarea in the same or another display view currently rendered on thedisplay, generating a corresponding third or subsequent boundarydefining a corresponding third or subsequent content region includingvisual content identified by the third or subsequent selected visualcontent area; and bringing a plurality of the content regions togetheron the display, including displaying the plurality of the contentregions approaching one another and sliding relative to one another tofinal positions for visual comparison by the user according to relativeshapes of the plurality of the content regions, the current display sizeof the display and the current display orientation of the display. 8.The process of claim 7, comprising automatically resizing at least oneof the plurality of content regions according to the relative sizes ofthe plurality of content regions, the current display size of thedisplay and the current display orientation of the display.
 9. Theprocess of claim 7, comprising in response to receiving a third type ofuser input relative to a given one of the plurality of content regions,changing a center point of visual content within the given contentregion.
 10. The process of claim 7, comprising in response to receivinga fourth type of user input relative to a given one of the plurality ofcontent regions, changing a zoom level of visual content within thegiven content region.
 11. The process of claim 7, comprising in responseto receiving a fifth type of user input relative to a given one of theplurality of content regions, changing a size of the given contentregion.
 12. The process of claim 7, wherein the first selected visualcontent area includes visual content from a first source file, andwherein the second selected visual content includes visual content froma second source file.
 13. The process of claim 1, wherein the display isa touchscreen display, and wherein the first type of user input is acircling operation caused by the user touching the touchscreen displayand at least partially encircling the selected visual content area inthe display view.
 14. The process of claim 13, wherein the second typeof user input is a pinching operation caused by the user touching twoseparate portions of the touchscreen display and sliding at least one ofthe touched portions toward the other touched portion.
 15. The processof claim 1, wherein the display is a touchscreen display, and whereinthe second type of user input is a pinching operation caused by the usertouching two separate portions of the touchscreen display and sliding atleast one of the touched portions toward the other touched portion. 16.The process of claim 1, wherein the first selected visual content areaincludes visual content from a first source file, and wherein the secondselected visual content includes visual content from a second sourcefile.
 17. A user device for comparing select portions of one or moresource files, comprising: a user interface with a display, the userinterface operative to receive user inputs; and at least one processoroperatively coupled with an electronic memory and with the userinterface, the at least one processor being programmed to: in responseto receiving a first type of user input identifying a first selectedvisual content area in a current display view rendered on a displayassociated with a user device, generating a first boundary defining afirst content region including visual content identified by the firstselected visual content area; in response to receiving the first type ofuser input identifying a second selected visual content area in the sameor another display view currently rendered on the display, generating asecond boundary defining a second content region including visualcontent identified by the second selected visual content area; and inresponse to receiving a second type of user input, bringing the firstand second content regions together on the display, including displayingthe first and second content regions approaching one another and slidingrelative to one another to final positions for visual comparison by auser according to relative shapes of the first and second contentregions, a current display size of the display and a current displayorientation of the display.
 18. The user device of claim 17, whereindisplay is a touchscreen display.
 19. The user device of claim 17,wherein the user interface is operative to receive at least one of thefirst and second types of user input from a mouse.
 20. A non-transitorycomputer readable medium, comprising computer executable instructionsfor: in response to receiving a first type of user input identifying afirst selected visual content area in a current display view rendered ona display associated with a user device, generating a first boundarydefining a first content region including visual content identified bythe first selected visual content area; in response to receiving thefirst type of user input identifying a second selected visual contentarea in the same or another display view currently rendered on thedisplay, generating a second boundary defining a second content regionincluding visual content identified by the second selected visualcontent area; and in response to receiving a second type of user input,bringing the first and second content regions together on the display,including displaying the first and second content regions approachingone another and sliding relative to one another to final positions forvisual comparison by a user according to relative shapes of the firstand second content regions, a current display size of the display and acurrent display orientation of the display.